Полезные ссылки

https://git.gosuslugi.local/ervu/source/ervu-object-diff-calc GIT

Назначение

Сервис вычисляет разницу между двумя объектами ЕРВУ по полям (добавлено, изменено, удалено)

Вынесен в отдельный сервис для взаимодействия через REST API с сервисом ervu-application-calc (изначально контроллер находился в ervu-import-history-service)

Сервис обеспечивает следующие функции:
Предоставляет информацию об изменениях между двумя объектами, им могут пользоваться любые другие сервисы, которым необходимо получить список изменений между объектами
Вычисляет изменения между объектами, для этого он раскладывает объекты в плоскую мапу и смотрит разницу. Если хотя бы один из объектов null - вернет null.
Возвращает 1 объект ObjectDiffs с следующими "группами" :

updateDiffs - обновлено
deleteDiffs - удалено
addedDiffs - добавлено

С s3 сервис не взаимодействует

KAFKA

Сервис имеет доступ к топику pgs.proxy.endpoints.access.info  в роли PRODUCER (Пишет)

topics:
    - name: pgs.proxy.endpoints.access.info
      operation: Create
      patternType: literal
    - name: pgs.proxy.endpoints.access.info
      operation: Write
      patternType: literal

Пример сообщения

[{"appName":"ervu-object-diff-calc","pkg":"rtl.pgs.ervu.objectdiffcalc.controller.DiffController","method":"Post","ingressPath":"/service/ervu-object-diff-calc","path":"/diffs/compute","rules":{}}]

REST API контроллеры

Сервис имеет единственный эндпоинт, который принимает на вход 2 объекта, и возвращает разницы между этими объектами - так называемые diffs, которые представляют из себя массив новых, измененных и удаленных полей.

POST               /service/ervu-object-diff-calc/diffs/compute


Запрос

Пример запроса Развернуть исходный код

Успешное выполнение операции

Пример ответа Развернуть исходный код


В случае, если запрос неверный (к примеру отсутствует  newObject ) - ответом вернётся 400 Bad Request

Пример запроса

Пример запроса Развернуть исходный код

Ответ

Взаимодействие с другими сервисами

Схема взаимодействия

ervu-journal
ervu-object-diff-calc
ervu-object-history-service
ervu-application-calc
HTTPS
HTTPS


Примеры вычисления разницы

Добавление объекта


1 комментарий

  1. Неизвестный пользователь (a.s.voronin@rt-sk.ru)

Написать комментарий...